package com.yingxin.yxerp.module.activiti.api;

import com.yingxin.yx.framework.commons.activiti.ApprovalStatus;
import com.yingxin.yx.framework.commons.activiti.dto.AuditDto;

import java.util.Map;

public interface BizProcessHandler {

    /**
     * 获取参数
     */
    Map<String, Object> getVariables(String businessId);

    /**
     * 业务方法：公共
     */
    void doCommonBiz(String businessId, AuditDto auditDto, ApprovalStatus approvalStatus) throws IllegalAccessException;

    /**
     * 业务方法：单个任务审核通过
     */
    void doTaskApprovedBiz(String businessId, AuditDto auditDto, ApprovalStatus approvalStatus) throws IllegalAccessException;

    /**
     * 业务方法：整个流程审核通过
     */
    void doProcessApprovedBiz(String businessId, AuditDto auditDto, ApprovalStatus approvalStatus) throws IllegalAccessException;

    /**
     * 业务方法：审核拒绝，审核撤销
     */
    void doProcessUnapprovedBiz(String businessId, AuditDto auditDto, ApprovalStatus approvalStatus) throws IllegalAccessException;

}
